package cn.heyige.backend.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.heyige.backend.entity.MemberOrderDO;

import java.util.Optional;

/**
 * 会员订单服务接口 - 精简版
 *
 * 专注于核心会员订单管理功能，提高系统性能和可维护性
 *
 * @author CodeBuddy
 */
public interface MemberOrderService extends IService<MemberOrderDO> {
    
    /**
     * 根据ID和用户ID查找会员订单
     *
     * @param id 订单ID
     * @param userId 用户ID
     * @return 会员订单
     */
    Optional<MemberOrderDO> findByIdAndUserId(Long id, Long userId);
    
    /**
     * 根据用户ID查找会员订单，按创建时间降序
     *
     * @param userId 用户ID
     * @param page 分页参数
     * @return 会员订单分页结果
     */
    Page<MemberOrderDO> findByUserIdOrderByCreatedAtDesc(Long userId, Page<MemberOrderDO> page);
}